This PR contains the following updates:
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)
v2.2.20
: Kotlin 2.2.20
Changelog
Analysis API
KT-78187
Synthetic properties not to be shown as callables
KT-72525
K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)
KT-74246
KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-site
Analysis API. Code Compilation
KT-78382
K2 IR lowering error when interface extends interface
KT-73201
K2 IDE: Error while evaluating expressions with local classes
KT-78164
Evaluator: '@JvmName
' annotations are not recognized in other modules
KT-76457
K2 IDE / KMP Debugger: KISEWA "Cannot compile a common source without a JVM counterpart" on evaluating inline fun from common module inside jvm
KT-73084
K2 evaluator cannot resolve local variables standing at the closing brace
Analysis API. FIR
Performance Improvements
KT-76490
Do not load ast during the contracts phase if no contracts present
KT-78132
Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarations
Fixes
KT-72227
SOE from recursive value class
KT-68977
K2 IDE: Reference to companion object through typealias in a function call does not work
KT-72357
Implement partial body resolution
KT-76932
Support context parameters on dangling modifier list
KT-72407
FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessing
KT-77602
K2 / Analysis API: KAEWA "No fir element was found for KtParameter" on incorrect context()-call
KT-77629
K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"
KT-76855
Analysis API: KaType.asPsiType
returns null
for a local inner class in dependent analysis tests
KT-72718
ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-casted
KT-76811
Analysis API: resolveToFirSymbol
finds a FirPropertySymbol
for a KtScript
in dependent analysis
KT-73586
[Analysis API] Add lazyResolveToPhase(STATUS)
before accessing modifiers of members
KT-71135
AA: exception from sealed inheritors checker when analyzeCopy
KT-75534
K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous function
KT-75687
K2: local variable doesn't get to the do-while scope
KT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
Analysis API. Infrastructure
KT-76809
Analysis API: Dependent analysis tests frequently work with the original element instead of the copied element
Analysis API. Light Classes
KT-78835
Find usages of a light constructor from a class with an empty body finds usages of class as well
KT-78878
K2. Method shown as unavailable in Java when @JvmExposeBoxed
is applied (redundantly) at both class and method level in Kotlin
KT-78065
Support "Expose boxed inline value classes" in Light Classes
KT-78076
DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxed
KT-77569
SLC: annotation missing from generated no-args constructor
KT-75182
K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with @JvmOverloads
KT-77564
Constructor with JvmOverloads and value class shouldn't mark regular constructors private
KT-77505
K2: find usages on java accessor methods do not detect kotlin property accessor usages
KT-76789
Annotation resolve shouldn't search through non-class members
KT-76907
Wrong equality between repeatable annotation and container
Analysis API. Providers and Caches
KT-77578
Analysis API: Performance degradation of KaBaseResolutionScope.contains
after introduction of library restriction scopes
KT-78640
Analysis API: Remove "friend builtins provider" from FirDeclarationForCompiledElementSearcher
KT-74907
Analysis API: Apply platform-based library module content restrictions consistently
KT-77605
AA: Leaking KaDanglingFileModule through IdeKotlinPackageProvider
KT-62474
Analysis API: Improve mergeability and performance of custom search scopes
KT-77022
Get rid of ExpectBuiltinPostProcessor workaround
KT-77248
Delegation of JavaModuleResolver
is restricted to CliJavaModuleResolver
KT-76850
LLFirLibrarySession cannot be cast to LLFirResolvableModuleSession
KT-76952
Analysis API: when
exhaustiveness analysis fails for sealed classes in dangling files
KT-72390
Kotlin project full of red code
Analysis API. Standalone
KT-78638
Analysis API Standalone: Stdlib builtins are not indexed in STUBS
deserialized declaration origin mode
Analysis API. Stubs and Decompilation
KT-77496
Support HAS_MUST_USE_RETURN_VALUE metadata flags in FirStubBasedMemberDeserializer
KT-77778
Function receivers doesn't have annotations
KT-77777
Receiver annotations shouldn't be present on types
KT-77538
Support default property accessors with annotations
KT-77763
Decompiled stubs miss inline modifier for property accessors
KT-77309
Decompiled property from annotation constructor with default value should have a constant initializer
KT-77168
Prefer DataInputOutputUtil for serialization/deserialization
KT-77117
Flaky WRONG_ANNOTATION_TARGET diagnostic
KT-76791
Function signature types are deserialized inconsistently
KT-76947
Support functional types with context parameters
Analysis API. Surface
New Features
KT-73473
Provide KaExpressionInformationProvider.isUsedAsResultOfLambda
KT-77278
Implement psi-based KaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField
KT-70770
KaLocalVariableSymbol: support isLateInit
Performance Improvements
KT-78526
Get rid of redundant checkValidity
from withPsiValidityAssertion
Fixes
KT-77674
Analysis API: Redundant smart cast to the original type
KT-76577
Guard KaFirStopWorldCacheCleaner from deadlocks via threads waiting
KT-78820
K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspection
KT-75057
Analysis API: Reference to object through typealias in invoke operator call leads to original type
KT-79042
Do not restore KaTypePointer if target kind has changed
KT-72421
AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN_OPERATOR_AMBGUITY error is present
KT-63464
AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.Unit
KT-75913
K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constants
KT-78628
K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function type
KT-78278
ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluate
KT-73184
Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesised
KT-73327
Cover all psi inputs with scope validity assertions
KT-78613
PSI: add binary compatibility checks
KT-74013
Analysis API: Cover the API surface with @SubclassOptInRequired
annotations
KT-76614
Move the parser and lexer to a separate module
KT-78552
KaFunctionValueParameter
is not marked as KaLifetimeOwner
KT-71152
Add back SubclassOptInRequired to classes in KaModule.kt
KT-71876
Support storing parameter names in KaFunctionType
KT-77738
AA: inconsistent KaType.allSupertypes
regarding multiple iterations
KT-75358
K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside it
KT-73723
K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous object
KT-78057
[Analysis API, K2] Context parameters are not resolved in KDoc
KT-73758
K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressions
KT-72301
K2 AA. PSI should present for declaration built by Kotlin code
on property access syntax of generic Java getter through Kotlin subclass
KT-77730
K2: Unable to get a light PSI for a nested annotation used with fully-qualified name
KT-73216
K2: unresolvable references in type parameters
KT-71794
Analysis API: Types with errors have unresolved qualifiers in lambda parameters position
KT-65846
Support parameter names in functional type rendering
KT-76738
K2 AA: rendering constructor of sealed class inserts protected modifier
KT-77515
KaTypeProvider#receiverType
should be more tolerant to an error code
KT-77333
K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with text I
, unexpected element of type: FirSuperReceiverExpressionImpl found
KT-76044
K2 AA: isFun is true for restored symbol of Java interface with several methods
KT-77264
KaTypeProvider#type
should be more tolerant to an error code
KT-77282
KaPropertySymbol: support isDelegatedProperty
for libraries
KT-77254
K2 AA: expectedType doesn't provide anything for parameter default value
KT-74777
KaVariableSymbol.hasBackingField returns incorrect result for libraries
KT-77280
Rename KaPropertyAccessorSymbol#isCustom
to isNotDefault
KT-77210
Analysis API: scopeContext
shows implicit receiver with a class instance in the class constructor
KT-77196
Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}
KT-76580
K2: No expected type for the second+ vararg argument
KT-76750
K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdas
KT-73290
Analysis API: Improve the architecture of content scopes and resolution scopes
KT-73055
Get rid of the deprecated Analysis API API
KT-70199
K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
Backend. Wasm
New Features
KT-65721
K/Wasm: stop unconditionally exporting any main function from the root package
Performance Improvements
KT-70097
Optimize shared primitive variables in Native and Wasm
Fixes
KT-80106
devServer in Kotlin/Wasm overwrites defaults, causing missing static paths
KT-80018
K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)
KT-66072
K/Wasm: improve how exceptions work in JS interop
KT-77897
WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension function
KT-71533
K/Wasm + K2: no error on KClass::qualifiedName usages
KT-73931
WASM: "RuntimeError: illegal cast" with nullable generic
KT-65403
[WASM] RuntimeError is thrown instead of ClassCastException
KT-79317
[Wasm] Do not throw CCE for ExcludedFromCodegen declarations
KT-66085
K/WASM: Runtime error is uncaught with catch (e: Throwable)
KT-78036
K/Wasm: generate a message with "expected" and "actual" types in case of CCE
KT-78384
K/Wasm: Incorrect debug info of local declarations in inline function from another file
KT-72220
Wasm: Unclear exception in case of missed dependency
KT-71691
No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main function
KT-67554
[Wasm] Consider to have reference equals or/and equals for function references
KT-71521
K/Wasm: incorrect results on equality checks for capturing property references
KT-71522
K/Wasm: incorrect results on equality checks for function references
KT-69570
K/Wasm: JsExport with default parameter value compiles to invalid Wasm
KT-71517
K/Wasm: KClass::qualifiedName for local classes and objects returns non-null value
KT-68309
WASM: Anonymous class simpleName returns "" instead of null
KT-77272
K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard library
KT-66106
Wasm: lambda was not invoked in test lambda2.kt
KT-77855
[Wasm] Improve virtual function calls speed for lambdas
KT-77501
Wasm: unsigned vararg compiles to invalid Wasm
KT-76775
[Wasm] Inconsistent FP mod operation
KT-77464
Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqn
KT-77465
Wasm: KTypeParamter printed without variance information
Compiler
New Features
KT-71768
Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methods
KT-78374
Make indy lambda function name generation more consistent
KT-45683
Allow generics in contract type assertions
KT-27090
Support contracts in getter and setter for top-level extension properties
KT-76766
Warning is missing for wrong subclass checking
KT-71244
Incorporate existing @CheckReturnValue
annotation(s) into Kotlin's unused return value checker
KT-73256
Implement all
meta-target for annotations
KT-78792
Report warning for redundant return in expression body
KT-32313
Support contracts for operator functions
KT-70722
Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)
KT-65688
Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+
KT-54344
Trigger the unused expression warning for interpolated strings, even when the expression may have side effects
KT-74807
Implement 'full' unused return value checker mode
KT-77653
K/N: an optimization pass to remove redundant type checks
KT-64477
Enhance KotlinLightParser to make it able to parse scripts
KT-74809
Support unnamed local variables
KT-72941
ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2
KT-75061
Support context-sensitive resolution in type position
Performance Improvements
KT-77993
Optimize old PSI/LightTree Kotlin parser
KT-78672
Consider having FirCallableSymbol.callableId null for local properties / parameters
KT-77839
K2: consider not creating CallableId for value parameters / variables / fields
KT-74981
Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)
KT-77838
K2: consider replacing LinkedHashMap with HashMap inside scopes and scope session
KT-76698
Android Studio compose preview holds read lock 700ms for KaCompilerFacility API
KT-68677
Kotlin compilation issue when using EnumMap and Pair
Fixes
KT-79979
K2: ClassCastException when overriding extension property with delegation
KT-67146
UPPER_BOUND_VIOLATED
missing on implicit type arguments
KT-76477
Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binary
KT-79866
kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an error
KT-78666
"Platform declaration clash" caused by indy lambda name generation which generates conflicting names
KT-80285
IJ monorepo: broken compilation after 2.2.20-RC update
KT-79442
"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfaces
KT-78589
"Class does not have member field" caused by delegation from a Java to Kotlin class
KT-79816
Java Interfaces implemented by delegation have non-null return checks
KT-78097
False positive NO_ELSE_IN_WHEN on sealed interface with negative is check
KT-77182
A function in a file annotated with @file
:MustUseReturnValue doesn't produce a warning when it is used from compiled code
KT-79085
Adding -Xreturn-value-checker=full
to kotlinc causes "error: conflicting overloads"
KT-75268
K2: Implement the new compilation scheme for MPP (compiler part)
KT-78843
FIR tree: comments within String concatenation aren't visited in 2.2.0
KT-77401
[FIR] ParameterNameTypeAttribute.name
doesn't support @ParameterName
with compile-time constant property argument
KT-73611
Remove -Xextended-compiler-checks in favor of a deprecation cycle
KT-79276
Dexing fails with "Cannot read field X because is null" with 2.2.0
KT-79781
Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHS
KT-78621
false-positive type mismatch error on value of nullable type as value of platform type
KT-79547
"UnsupportedOperationException: Not supported" with inlining and value classes
KT-52706
Bad signature for generic value classes with substituted type parameter
KT-79519
Nested type alias is unreachable from another module
KT-76839
False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructor
KT-78352
False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)
KT-78815
Symbol not found: __ZNSt3__117bad_function_callD1Ev
error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2
KT-25341
NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object border
KT-77099
'all' annotation target is not a soft keyword
KT-76478
FIR: Implement IDE-only checker for types exposed in inline function
KT-79355
Failed to fix the problem of desugared inc
with new reverse implies returns contract
KT-79277
Implies returns contract doesn't affect the return type of the function if it is in the argument position
KT-79271
Implies returns contract doesn't impact exhaustiveness
KT-79218
SMARTCAST_IMPOSSIBLE for top‐level extension‐property getter despite returnsNotNull contract
KT-79220
returnsNotNull contract ignored on extension function with nullable receiver
KT-79354
IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0
KT-78479
IR lowering failed / Unexpected null argument for composable call
KT-77986
K2: False negative: "Local classes are not yet supported in inline functions"
KT-79076
'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic type
KT-78726
Split runPsiToIr phase into runPsiToIr and runIrLinker
KT-77672
K/N: come up with a fallback strategy for the casts optimization pass
KT-76365
K2: Missing ABSTRACT_SUPER_CALL
KT-76585
K2: RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY is not reported inside initializers of local variables
KT-79099
K2: Do not inherit inline modifier
KT-76902
Omit type-use annotations from diagnostics
KT-64499
Report error on overloading by order of context parameters
KT-58988
K2: Deprecate exposing package-private parameter of internal method
KT-77199
OPT_IN_USAGE_ERROR is still absent when calling the enum primary constructor
KT-72800
K2: java.util.NoSuchElementException when introduce variable
KT-79056
Add experimental language version 2.5
KT-17460
Diagnostics and intention on suspend function that is overriden with non-suspend one.
KT-78351
Plugins: VIRTUAL_MEMBER_HIDDEN caused by FirSupertypeGenerationExtension
KT-78527
No LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING is reported when a private companion object is accessed via the class name
KT-79045
FirExpectActualMatcherTransformer should not visit bodies
KT-74570
K2: Linenumber for annotation on property is present in LVT
KT-74569
K2: Linenumber of annotation is present in constructor's LVT
KT-64731
K2: Annotation on inline function or inside inline function is hit by debugger
KT-77756
Add experimental language version 2.4
KT-78837
linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was Any
KT-78945
CONTRACT_NOT_ALLOWED is not reported for local operator functions
KT-78944
ANNOTATION_IN_CONTRACT_ERROR is not reported for operators and property accessors with contracts
KT-78943
ERROR_IN_CONTRACT_DESCRIPTION is not reported for operators and property accessors with contracts
KT-78932
Contracts are allowed for open and overridden property accessors
KT-77203
FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnostics
KT-76635
Implement Data-Flow Based Exhaustiveness Support
KT-78805
K2: False positive METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACE
KT-78651
No need to report LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING in noinline default value lambda
KT-78849
K2: [Wasm, Fir2IR] Invalid smartcast on overloaded function call
KT-78793
Make feature AllowEagerSupertypeAccessibilityChecks experimental
KT-78736
Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context update
KT-78324
K2: False negative [INCONSISTENT_TYPE_PARAMETER_VALUES]
KT-69975
KDoc: cannot reference elements with names in backticks
KT-78229
KDoc: unable to reference a method with spaces in the name
KT-78047
Render unnamed context parameters as _ instead of
KT-74621
Debugger: AssertionError on evaluating two suspending calls
KT-78784
Improve deprecation warnings about KTLC-284
KT-76826
New inference error [NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected type
KT-77685
"IllegalArgumentException: Sequence contains more than one matching element"
KT-78028
"FirNamedFunctionSymbol" leaks to the error message about missing infix modifier
KT-77245
Add expression name to RETURN_VALUE_NOT_USED diagnostic
KT-78071
False-positive NO_ELSE_IN_WHEN after variable reassignment
KT-78068
False-positive NO_ELSE_IN_WHEN after excluding enum value with inequality check
KT-71134
Consider to get rid of CapturedTypeMarker.withNotNullProjection()
KT-77131
getValue/setValue can be declared with more than two/three parameters
KT-78452
Drop redundant frontend structures after fir2ir conversion
KT-78458
Don't populate PredicateBasedProvider if no lookup predicates are registered
KT-78440
Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with -Xindy-allow-annotated-lambdas=false
KT-77709
Missing diagnostics of accessing less visible objects in inline function
KT-77577
False positive exposed type warnings
KT-77095
FIR: Report warnings on exposure of references to invisible references in inline functions
KT-76981
Move exposed type checker to regular checkers
KT-78252
ClassCastException when Array<Void>
used for compile-time vararg of Nothing
KT-77713
Context Parameters cause compiler generate r8 incompatible bytecode
KT-71854
K2 IDE. False positive red code because of external annotation on a generic parameter
KT-67335
K2: Infers Int instead of Long for an ILT
KT-76629
K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classes
KT-77728
Drop controversial experimental checkers
KT-78429
K2: Property callable reference incorrectly smart-casted to intersection of property type and KProperty
KT-78509
Renamed for override copy functions are cached in scope instead of session
KT-17417
Loops in delegation: no compilation error on non-abstract class with abstract method that never implemented
KT-75033
Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputs
KT-75831
K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameter
KT-78370
All the [something]Assign operators on dynamic return Unit as a type
KT-73950
K2 IDE / Kotlin Debugger: ISE "Fake override should have at least one overridden descriptor" on evaluation of local calss in presence of bystander
KT-78280
Implement the sourceless KtDiagnostic
s
KT-76543
Migrate psi2ir sources to new IR parameter API
KT-77716
Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"
KT-76400
Context-sensitive resolution doesn’t work in if-else condition passed as a function argument
KT-76606
Enable 'Indy: Allow lambdas with annotations' by default
KT-76739
Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type arguments
KT-78121
Report warning on function type with multiple implicit values that's annotated with DSL marker
KT-76872
Anonymous context parameters are not visible in debugger
KT-74088
Kotlin Debugger: CCE on evaluating private suspend function
KT-77301
False positive Context Parameter resolution when using DslMarker
KT-78230
Add more test cases to the holdsIn contracts
KT-78111
K2: Approximation of captured star projection in function type produces Function1<Nothing?, Unit>
in IR
KT-77273
K/N: Remove the kotlin.native.internal.Ref class from the standard library
KT-73995
JVM bytecode: Bad name for value class field
KT-73013
Kotlin Debugger: ISE "No mapping for symbol: VALUE_PARAMETER" on evaluating callable reference to local function with closure in it
KT-77665
K2: unresolved annotatation on local context parameter type
KT-77485
Add constraints logging to inference
KT-76504
Find and deprecate actively used parts of K1 API
KT-75338
K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local function
KT-77648
K2: False negative DSL_SCOPE_VIOLATION when using named argument for lambda with annotated function type
KT-77355
Report warning on overloading by a superset of another overload's context parameters
KT-77354
Report warning on overloading by a subtype of another overload's context parameter
KT-78084
Unify deprecation warning messages
KT-76776
@MustUseReturnValue
doesn't affect nested scopes
KT-77545
@NoInfer
on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect type
KT-76772
@NoInfer
on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call site
KT-76771
@NoInfer
on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching type
KT-77156
INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous object
KT-78060
UNRESOLVED_REFERENCE in fp-space
KT-67555
Debug metadata: map the Continuation label to the next executable location in file
KT-77723
Refine the message for ArrayEqualityCanBeReplacedWithEquals checker
KT-75178
Inline functions in conjunction with @JvmStatic
may result in bytecode errors
KT-77390
Prototype lazy loading of stdlib symbols in Native
KT-77921
False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parameters
KT-77895
false-negative error on package directives with context parameter lists (even with context parameters disabled)
KT-76767
AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the type
KT-77444
K2: False negative "Unchecked cast" with casting from MutableList to MutableList
KT-63348
K2: FIR2IR should properly pass expected types
KT-77627
K2: consider getting rid of NEW_INFERENCE_ERROR
KT-75833
K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation arguments
KT-77547
Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klib
KT-77206
Remove PARAMETER_NAME_CHANGED_ON_OVERRIDE
suppression in KMP lexers
KT-77679
Update syntax-api dependency in KMP Kotlin parser
KT-77705
K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compiler
KT-76583
CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspended
KT-76663
KJS: KotlinNothingValueException caused by expression return since 2.1.20
KT-75457
Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabled
KT-77563
False-positive smart cast with captured local in init block causes NPE
KT-77696
ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin version
KT-76931
K2: Annotation on do-while expression captures variables from inside the loop
KT-77183
Metadata: remove multi-field value class representation
KT-77678
Apply found optimization to Kotlin KMP parser
KT-60127
K2: Support scripts with LightTree-based raw FIR building
KT-76615
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin code
KT-77220
Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0
KT-77656
K/N: fix the super type for local delegated properties
KT-75907
Inference/PCLA: consider storing semi-fixed variables in inference session
KT-77144
Implement KMP Kotlin parser
KT-77352
Implement KMP Expression parser
KT-76984
SYNCHRONIZED_BLOCK_ON_JAVA_VALUE_BASED_CLASS isn't reported for primitive wrapper classes instantiated within the scope
KT-67471
K2: "Unresolved reference" on incorrect term of FQ name
KT-77269
[K/N] external calls checker crashes when used with caches
KT-77205
Kotlin Debugger / Context Parameters: CCE "class FirPropertySymbol cannot be cast to class FirFunctionSymbol" on evaluating class property
KT-74133
FIR: use EmptyDeprecationsPerUseSite consistently in symbols
KT-77100
java.lang.Void type is not ignorable
KT-77491
K2: No SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE when using typealias
KT-77490
Report error on contextual function type in supertype
KT-77431
Functional type with a context is allowed as an upper-bound
KT-77432
Context isn't passed properly when functional type with a context is used as a type argument
KT-77417
There is no TYPE_VARIANCE_CONFLICT_ERROR when 'out' type is used in context
KT-62631
Improve expect-actual "checking" incompatibilities reporting
KT-77481
Support ExpectRefinement feature in HMPP compilation scheme
KT-77268
Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariables
KT-65719
K1/K2: Nullness defaults from subclass unsoundly applied to method in superclass
KT-53836
In type-parameter declarations, recognize JSpecify annotations only on bounds
KT-73658
JSpecify @NonNull
annotation on type-parameter bound prevents type-variable usages from being platform types
KT-77000
Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warning
KT-74084
K2: False negative [NO_ELSE_IN_WHEN]
KT-77451
FirLazyResolveContractViolationException for test with overridden delegate
KT-77397
Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signature
KT-77137
K2: Controversial behavior allows resolving annotation arguments on a companion inside it
KT-77257
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interface
KT-77256
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interface
KT-76356
K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseable
KT-73786
Evaluator: cannot evaluate inline methods with reified parameter
KT-77204
Native: XCode strip command causes flaky tests
KT-77351
Implement KMP KDoc parser
KT-76914
compile-time failure on a type argument placeholder in a callable reference
KT-76597
False negative opt-in required on delegated constructor call
KT-76667
Mark the class implementation of interface function with ACC_BRIDGE in the class file
KT-77181
K2: a nested typealias annotation observes member declarations of the outer class
KT-77180
K2: Wrong scope for annotation arguments in the constructor header
KT-77287
Try enforcing source != null
when origin == Source
KT-76135
K2: drop pre-1.8 language features from compiler code
KT-77231
Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitive
KT-77031
Investigate the actual need of deduplicating provider in HMPP compilation scheme
KT-77050
Implement KMP KDoc lexer
KT-77048
Implement KMP Kotlin lexer
KT-77044
Consolidate, refine and update jFlex dependency
KT-77252
It is impossible to declare an unnamed variable in a script
KT-58137
K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
KT-77140
Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-in
KT-76898
K2: ClassCastException when data class shadows supertype's componentX
method with wrong type
KT-75695
Bogus "Assigned value is never read" warning for prefix ++ operator
KT-76805
Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20
KT-77078
K2: anonymous object is wrongly allowed to implement interfaces by unsafe Delegation
KT-72722
Treat 'copy' calls of a data class as explicit constructor usages
KT-77149
IllegalArgumentException: source must not be null
KT-76806
K2: AIOOBE in FirEqualityCompatibilityChecker
KT-72391
KJS: (a * b).toDouble_ygsx0s_k$ is not a function
KT-76950
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByte
KT-76043
Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yet
KT-77126
Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependencies
KT-72831
ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2
KT-73707
Remove dependency on ":compiler:backend.jvm" from Native
KT-75499
CheckerContext#{containingDeclaration, containingFile} in checkers should return symbols
KT-76548
False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper bound
KT-76142
K2: @RequiresOptIn
warning does not display the custom message when using concatenated strings.
KT-68699
Kotlin Debugger: UPAE "lateinit property parent has not been initialized" on trying evaluate enumValues(), enumEntries() from inlined function with reified parameter
KT-63267
K2: incorrect line numbers after smart cast of an extension receiver
KT-71309
Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameter
KT-74912
K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdas
KT-74657
K2: Linenumber for annotation on local variable is present in LVT
KT-76749
NONE_APPLICABLE message is unreadable for stdlib context function
KT-74932
Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous function
KT-74545
Redundant TYPE_MISMATCH in variable initializer with call
KT-76774
K2: Simplify ResolutionMode.WithExpectedType contracts
KT-76689
Unnamed local variable with type and without initializer is allowed
KT-76746
ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to class
KT-76754
K2: Compiler doesn't check annotations on array literals (as annotation arguments)
KT-76674
The function isn't called from unnamed local variable initializer
KT-75553
MISSING_DEPENDENCY_SUPERCLASS
and MISSING_DEPENDENCY_SUPERCLASS_WARNING
is reported at the same time on the same element
KT-76345
Enhance variable fixation
KT-73348
AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameter
KT-72305
K2: Report error when using synthetic properties in case of mapped collections
KT-73527
Prohibit (via a deprecation warning) accessing nested class through generic outer class
KT-59886
K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTION
- [
KT-61227
](https://youtr
Configuration
📅 Schedule: Branch creation - "every 3 months on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
2.1.20
->2.2.20
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-gradle-plugin)
v2.2.20
: Kotlin 2.2.20Changelog
Analysis API
KT-78187
Synthetic properties not to be shown as callablesKT-72525
K2. red code and KIWA on new-lines in guarded when conditions (with parentheses)KT-74246
KaVisibilityChecker.isVisible is inefficient with multiple calls on the same use-siteAnalysis API. Code Compilation
KT-78382
K2 IR lowering error when interface extends interfaceKT-73201
K2 IDE: Error while evaluating expressions with local classesKT-78164
Evaluator: '@JvmName
' annotations are not recognized in other modulesKT-76457
K2 IDE / KMP Debugger: KISEWA "Cannot compile a common source without a JVM counterpart" on evaluating inline fun from common module inside jvmKT-73084
K2 evaluator cannot resolve local variables standing at the closing braceAnalysis API. FIR
Performance Improvements
KT-76490
Do not load ast during the contracts phase if no contracts presentKT-78132
Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization for already resolved declarationsFixes
KT-72227
SOE from recursive value classKT-68977
K2 IDE: Reference to companion object through typealias in a function call does not workKT-72357
Implement partial body resolutionKT-76932
Support context parameters on dangling modifier listKT-72407
FirImplementationByDelegationWithDifferentGenericSignatureChecker: FirLazyExpression should be calculated before accessingKT-77602
K2 / Analysis API: KAEWA "No fir element was found for KtParameter" on incorrect context()-callKT-77629
K2: NPE: "org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution"KT-76855
Analysis API:KaType.asPsiType
returnsnull
for a local inner class in dependent analysis testsKT-72718
ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is smart-castedKT-76811
Analysis API:resolveToFirSymbol
finds aFirPropertySymbol
for aKtScript
in dependent analysisKT-73586
[Analysis API] AddlazyResolveToPhase(STATUS)
before accessing modifiers of membersKT-71135
AA: exception from sealed inheritors checker whenanalyzeCopy
KT-75534
K2 AA: "Containing declaration should present for nested declaration class KtNamedFunction" with dangling annotation on top-level anonymous functionKT-75687
K2: local variable doesn't get to the do-while scopeKT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose toAnalysis API. Infrastructure
KT-76809
Analysis API: Dependent analysis tests frequently work with the original element instead of the copied elementAnalysis API. Light Classes
KT-78835
Find usages of a light constructor from a class with an empty body finds usages of class as wellKT-78878
K2. Method shown as unavailable in Java when@JvmExposeBoxed
is applied (redundantly) at both class and method level in KotlinKT-78065
Support "Expose boxed inline value classes" in Light ClassesKT-78076
DLC: KotlinDeclarationInCompiledFileSearcher missed accessors if types are boxedKT-77569
SLC: annotation missing from generated no-args constructorKT-75182
K2 AA. False positive red code "Unresolved reference" to a Kotlin method in Java when Kotlin uses a value class with@JvmOverloads
KT-77564
Constructor with JvmOverloads and value class shouldn't mark regular constructors privateKT-77505
K2: find usages on java accessor methods do not detect kotlin property accessor usagesKT-76789
Annotation resolve shouldn't search through non-class membersKT-76907
Wrong equality between repeatable annotation and containerAnalysis API. Providers and Caches
KT-77578
Analysis API: Performance degradation ofKaBaseResolutionScope.contains
after introduction of library restriction scopesKT-78640
Analysis API: Remove "friend builtins provider" fromFirDeclarationForCompiledElementSearcher
KT-74907
Analysis API: Apply platform-based library module content restrictions consistentlyKT-77605
AA: Leaking KaDanglingFileModule through IdeKotlinPackageProviderKT-62474
Analysis API: Improve mergeability and performance of custom search scopesKT-77022
Get rid of ExpectBuiltinPostProcessor workaroundKT-77248
Delegation ofJavaModuleResolver
is restricted toCliJavaModuleResolver
KT-76850
LLFirLibrarySession cannot be cast to LLFirResolvableModuleSessionKT-76952
Analysis API:when
exhaustiveness analysis fails for sealed classes in dangling filesKT-72390
Kotlin project full of red codeAnalysis API. Standalone
KT-78638
Analysis API Standalone: Stdlib builtins are not indexed inSTUBS
deserialized declaration origin modeAnalysis API. Stubs and Decompilation
KT-77496
Support HAS_MUST_USE_RETURN_VALUE metadata flags in FirStubBasedMemberDeserializerKT-77778
Function receivers doesn't have annotationsKT-77777
Receiver annotations shouldn't be present on typesKT-77538
Support default property accessors with annotationsKT-77763
Decompiled stubs miss inline modifier for property accessorsKT-77309
Decompiled property from annotation constructor with default value should have a constant initializerKT-77168
Prefer DataInputOutputUtil for serialization/deserializationKT-77117
Flaky WRONG_ANNOTATION_TARGET diagnosticKT-76791
Function signature types are deserialized inconsistentlyKT-76947
Support functional types with context parametersAnalysis API. Surface
New Features
KT-73473
Provide KaExpressionInformationProvider.isUsedAsResultOfLambdaKT-77278
Implement psi-basedKaFirKotlinPropertyKtPropertyBasedSymbol#hasBackingField
KT-70770
KaLocalVariableSymbol: supportisLateInit
Performance Improvements
KT-78526
Get rid of redundantcheckValidity
fromwithPsiValidityAssertion
Fixes
KT-77674
Analysis API: Redundant smart cast to the original typeKT-76577
Guard KaFirStopWorldCacheCleaner from deadlocks via threads waitingKT-78820
K2: ISE "FIR element class FirErrorExpressionImpl is not supported in constant evaluation" through RedundantValueArgumentInspectionKT-75057
Analysis API: Reference to object through typealias in invoke operator call leads to original typeKT-79042
Do not restore KaTypePointer if target kind has changedKT-72421
AA: "KtReference.resolveToSymbols" returns empty list when ASSIGN_OPERATOR_AMBGUITY error is presentKT-63464
AA: KtPsiTypeProvider#asPsiType doesn't substitute kotlin.UnitKT-75913
K2: SymbolLightLazyAnnotation evaluates arguments and replaces them with constantsKT-78628
K2. Setting Receiver=true in Change Signature produces parameter of regular function type receiver instead of extension function typeKT-78278
ISE: FIR element "class org.jetbrains.kotlin.fir.expressions.impl.FirErrorResolvedQualifierImpl" is not supported in constant evaluation at org.jetbrains.uast.kotlin.internal.FirKotlinUastConstantEvaluator.evaluateKT-73184
Analysis API: KaFunctionCall.argumentMapping is unexpectedly deparenthesisedKT-73327
Cover all psi inputs with scope validity assertionsKT-78613
PSI: add binary compatibility checksKT-74013
Analysis API: Cover the API surface with@SubclassOptInRequired
annotationsKT-76614
Move the parser and lexer to a separate moduleKT-78552
KaFunctionValueParameter
is not marked asKaLifetimeOwner
KT-71152
Add back SubclassOptInRequired to classes in KaModule.ktKT-71876
Support storing parameter names inKaFunctionType
KT-77738
AA: inconsistentKaType.allSupertypes
regarding multiple iterationsKT-75358
K2 AA, KaFirVisibilityChecker: private member of anonymous object is not visible inside itKT-73723
K2 AA, KaFirVisibilityChecker: protected member of superclass is not visible from anonymous objectKT-78057
[Analysis API, K2] Context parameters are not resolved in KDocKT-73758
K2 Mode: "KaEvaluator.evaluate" does not work for simple arithmetic expressionsKT-72301
K2 AA.PSI should present for declaration built by Kotlin code
on property access syntax of generic Java getter through Kotlin subclassKT-77730
K2: Unable to get a light PSI for a nested annotation used with fully-qualified nameKT-73216
K2: unresolvable references in type parametersKT-71794
Analysis API: Types with errors have unresolved qualifiers in lambda parameters positionKT-65846
Support parameter names in functional type renderingKT-76738
K2 AA: rendering constructor of sealed class inserts protected modifierKT-77515
KaTypeProvider#receiverType
should be more tolerant to an error codeKT-77333
K2 AA: KaFirTypeProvider.getType: InvalidFirElementTypeException: For TYPE_REFERENCE with textI
, unexpected element of type: FirSuperReceiverExpressionImpl foundKT-76044
K2 AA: isFun is true for restored symbol of Java interface with several methodsKT-77264
KaTypeProvider#type
should be more tolerant to an error codeKT-77282
KaPropertySymbol: supportisDelegatedProperty
for librariesKT-77254
K2 AA: expectedType doesn't provide anything for parameter default valueKT-74777
KaVariableSymbol.hasBackingField returns incorrect result for librariesKT-77280
RenameKaPropertyAccessorSymbol#isCustom
toisNotDefault
KT-77210
Analysis API:scopeContext
shows implicit receiver with a class instance in the class constructorKT-77196
Clarify differences between KaPropertyAccessorSymbol#{isDefault, hasBody}KT-76580
K2: No expected type for the second+ vararg argumentKT-76750
K2. internal exception 'Unable to provide inlay hint' on typo in nested lambdasKT-73290
Analysis API: Improve the architecture of content scopes and resolution scopesKT-73055
Get rid of the deprecated Analysis API APIKT-70199
K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArgumentsBackend. Wasm
New Features
KT-65721
K/Wasm: stop unconditionally exporting any main function from the root packagePerformance Improvements
KT-70097
Optimize shared primitive variables in Native and WasmFixes
KT-80106
devServer in Kotlin/Wasm overwrites defaults, causing missing static pathsKT-80018
K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside Safari, WebKit)KT-66072
K/Wasm: improve how exceptions work in JS interopKT-77897
WasmJs: ClassCastException when using star-projection with nullable transformation in generic extension functionKT-71533
K/Wasm + K2: no error on KClass::qualifiedName usagesKT-73931
WASM: "RuntimeError: illegal cast" with nullable genericKT-65403
[WASM] RuntimeError is thrown instead of ClassCastExceptionKT-79317
[Wasm] Do not throw CCE for ExcludedFromCodegen declarationsKT-66085
K/WASM: Runtime error is uncaught withcatch (e: Throwable)
KT-78036
K/Wasm: generate a message with "expected" and "actual" types in case of CCEKT-78384
K/Wasm: Incorrect debug info of local declarations in inline function from another fileKT-72220
Wasm: Unclear exception in case of missed dependencyKT-71691
No trace on Wasm/JS if an error occurred in initializing global variables in a file with the main functionKT-67554
[Wasm] Consider to have reference equals or/and equals for function referencesKT-71521
K/Wasm: incorrect results on equality checks for capturing property referencesKT-71522
K/Wasm: incorrect results on equality checks for function referencesKT-69570
K/Wasm: JsExport with default parameter value compiles to invalid WasmKT-71517
K/Wasm: KClass::qualifiedName for local classes and objects returns non-null valueKT-68309
WASM: Anonymous class simpleName returns "" instead of nullKT-77272
K/Wasm: Remove kotlin.wasm.internal.ClosureBox* classes from the standard libraryKT-66106
Wasm: lambda was not invoked in test lambda2.ktKT-77855
[Wasm] Improve virtual function calls speed for lambdasKT-77501
Wasm: unsigned vararg compiles to invalid WasmKT-76775
[Wasm] Inconsistent FP mod operationKT-77464
Wasm: KType.toString() has simple names even with -Xwasm-kclass-fqnKT-77465
Wasm: KTypeParamter printed without variance informationCompiler
New Features
KT-71768
Enable -Xjvm-default=all-compatibility by default to generate JVM default interface methodsKT-78374
Make indy lambda function name generation more consistentKT-45683
Allow generics in contract type assertionsKT-27090
Support contracts in getter and setter for top-level extension propertiesKT-76766
Warning is missing for wrong subclass checkingKT-71244
Incorporate existing@CheckReturnValue
annotation(s) into Kotlin's unused return value checkerKT-73256
Implementall
meta-target for annotationsKT-78792
Report warning for redundant return in expression bodyKT-32313
Support contracts for operator functionsKT-70722
Implement better Kotlin warnings for value classes and JEP 390 (Warnings for Value-Based Classes)KT-65688
Generate when-expressions over final classes via invokedynamic typeSwitch + tableswitch on JDK 21+KT-54344
Trigger the unused expression warning for interpolated strings, even when the expression may have side effectsKT-74807
Implement 'full' unused return value checker modeKT-77653
K/N: an optimization pass to remove redundant type checksKT-64477
Enhance KotlinLightParser to make it able to parse scriptsKT-74809
Support unnamed local variablesKT-72941
ANNOTATIONS_ON_BLOCK_LEVEL_EXPRESSION_ON_THE_SAME_LINE missing in K2KT-75061
Support context-sensitive resolution in type positionPerformance Improvements
KT-77993
Optimize old PSI/LightTree Kotlin parserKT-78672
Consider having FirCallableSymbol.callableId null for local properties / parametersKT-77839
K2: consider not creating CallableId for value parameters / variables / fieldsKT-74981
Kotlin/Native: large binary size for iOS target in 2.1.0(LLVM16)KT-77838
K2: consider replacing LinkedHashMap with HashMap inside scopes and scope sessionKT-76698
Android Studio compose preview holds read lock 700ms for KaCompilerFacility APIKT-68677
Kotlin compilation issue when using EnumMap and PairFixes
KT-79979
K2: ClassCastException when overriding extension property with delegationKT-67146
UPPER_BOUND_VIOLATED
missing on implicit type argumentsKT-76477
Kotlin/Native: fix compiler performance reporting in sources->klib and klibs->binaryKT-79866
kotlinc 2.2.0 silently emits 'NonExistentClass' instead of reporting an errorKT-78666
"Platform declaration clash" caused by indy lambda name generation which generates conflicting namesKT-80285
IJ monorepo: broken compilation after 2.2.20-RC updateKT-79442
"Multiple annotations of type kotlin.coroutines.jvm.internal.DebugMetadata": 2.2.0-Beta1 generates broken code with JVM default suspend methods in interfacesKT-78589
"Class does not have member field" caused by delegation from a Java to Kotlin classKT-79816
Java Interfaces implemented by delegation have non-null return checksKT-78097
False positive NO_ELSE_IN_WHEN on sealed interface with negative is checkKT-77182
A function in a file annotated with@file
:MustUseReturnValue doesn't produce a warning when it is used from compiled codeKT-79085
Adding-Xreturn-value-checker=full
to kotlinc causes "error: conflicting overloads"KT-75268
K2: Implement the new compilation scheme for MPP (compiler part)KT-78843
FIR tree: comments within String concatenation aren't visited in 2.2.0KT-77401
[FIR]ParameterNameTypeAttribute.name
doesn't support@ParameterName
with compile-time constant property argumentKT-73611
Remove -Xextended-compiler-checks in favor of a deprecation cycleKT-79276
Dexing fails with "Cannot read field X because is null" with 2.2.0KT-79781
Missing MISSING_DEPENDENCY_CLASS when using type alias with inaccessible RHSKT-78621
false-positive type mismatch error on value of nullable type as value of platform typeKT-79547
"UnsupportedOperationException: Not supported" with inlining and value classesKT-52706
Bad signature for generic value classes with substituted type parameterKT-79519
Nested type alias is unreachable from another moduleKT-76839
False-negative MISSING_DEPENDENCY_CLASS on parameter of data class constructorKT-78352
False-positive IDENTITY_SENSITIVE_OPERATIONS_WITH_VALUE_TYPE when comparing with equality operator (==)KT-78815
Symbol not found: __ZNSt3__117bad_function_callD1Ev
error on iOS 15.5 simulator in Xcode 16.3 after update to 2.2.0-Beta2KT-25341
NOT_YET_SUPPORTED_IN_INLINE reported over anonymous object borderKT-77099
'all' annotation target is not a soft keywordKT-76478
FIR: Implement IDE-only checker for types exposed in inline functionKT-79355
Failed to fix the problem of desugaredinc
with new reverse implies returns contractKT-79277
Implies returns contract doesn't affect the return type of the function if it is in the argument positionKT-79271
Implies returns contract doesn't impact exhaustivenessKT-79218
SMARTCAST_IMPOSSIBLE for top‐level extension‐property getter despite returnsNotNull contractKT-79220
returnsNotNull contract ignored on extension function with nullable receiverKT-79354
IllegalStateException: Debug metadata version mismatch. Expected: 1, got 2 with compiler 2.2.20-Beta1 and stdlib 2.2.0KT-78479
IR lowering failed / Unexpected null argument for composable callKT-77986
K2: False negative: "Local classes are not yet supported in inline functions"KT-79076
'IllegalStateException: Cannot serialize error type: ERROR CLASS: Uninferred type' with Exposed column using recursive generic typeKT-78726
Split runPsiToIr phase into runPsiToIr and runIrLinkerKT-77672
K/N: come up with a fallback strategy for the casts optimization passKT-76365
K2: Missing ABSTRACT_SUPER_CALLKT-76585
K2: RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY is not reported inside initializers of local variablesKT-79099
K2: Do not inherit inline modifierKT-76902
Omit type-use annotations from diagnosticsKT-64499
Report error on overloading by order of context parametersKT-58988
K2: Deprecate exposing package-private parameter of internal methodKT-77199
OPT_IN_USAGE_ERROR is still absent when calling the enum primary constructorKT-72800
K2: java.util.NoSuchElementException when introduce variableKT-79056
Add experimental language version 2.5KT-17460
Diagnostics and intention on suspend function that is overriden with non-suspend one.KT-78351
Plugins: VIRTUAL_MEMBER_HIDDEN caused by FirSupertypeGenerationExtensionKT-78527
No LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING is reported when a private companion object is accessed via the class nameKT-79045
FirExpectActualMatcherTransformer should not visit bodiesKT-74570
K2: Linenumber for annotation on property is present in LVTKT-74569
K2: Linenumber of annotation is present in constructor's LVTKT-64731
K2: Annotation on inline function or inside inline function is hit by debuggerKT-77756
Add experimental language version 2.4KT-78837
linkReleaseFrameworkIosArm64: Compilation failed: An interface expected but was AnyKT-78945
CONTRACT_NOT_ALLOWED is not reported for local operator functionsKT-78944
ANNOTATION_IN_CONTRACT_ERROR is not reported for operators and property accessors with contractsKT-78943
ERROR_IN_CONTRACT_DESCRIPTION is not reported for operators and property accessors with contractsKT-78932
Contracts are allowed for open and overridden property accessorsKT-77203
FIR: Consider adding destructured type to all COMPONENT_FUNCTION_* diagnosticsKT-76635
Implement Data-Flow Based Exhaustiveness SupportKT-78805
K2: False positive METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACEKT-78651
No need to report LESS_VISIBLE_TYPE_ACCESS_IN_INLINE_WARNING in noinline default value lambdaKT-78849
K2: [Wasm, Fir2IR] Invalid smartcast on overloaded function callKT-78793
Make feature AllowEagerSupertypeAccessibilityChecks experimentalKT-78736
Missing [NOT_YET_SUPPORTED_IN_INLINE] diagnostics because of incorrect context updateKT-78324
K2: False negative [INCONSISTENT_TYPE_PARAMETER_VALUES]KT-69975
KDoc: cannot reference elements with names in backticksKT-78229
KDoc: unable to reference a method with spaces in the nameKT-78047
Render unnamed context parameters as _ instead ofKT-74621
Debugger: AssertionError on evaluating two suspending callsKT-78784
Improve deprecation warnings about KTLC-284KT-76826
New inference error [NewConstraintError at Incorporate TypeVariable] caused by recursive generics and nullable expected typeKT-77685
"IllegalArgumentException: Sequence contains more than one matching element"KT-78028
"FirNamedFunctionSymbol" leaks to the error message about missing infix modifierKT-77245
Add expression name to RETURN_VALUE_NOT_USED diagnosticKT-78071
False-positive NO_ELSE_IN_WHEN after variable reassignmentKT-78068
False-positive NO_ELSE_IN_WHEN after excluding enum value with inequality checkKT-71134
Consider to get rid of CapturedTypeMarker.withNotNullProjection()KT-77131
getValue/setValue can be declared with more than two/three parametersKT-78452
Drop redundant frontend structures after fir2ir conversionKT-78458
Don't populate PredicateBasedProvider if no lookup predicates are registeredKT-78440
Lambda with an implicitly runtime-retained annotation is generated via invokedynamic with-Xindy-allow-annotated-lambdas=false
KT-77709
Missing diagnostics of accessing less visible objects in inline functionKT-77577
False positive exposed type warningsKT-77095
FIR: Report warnings on exposure of references to invisible references in inline functionsKT-76981
Move exposed type checker to regular checkersKT-78252
ClassCastException whenArray<Void>
used for compile-time vararg ofNothing
KT-77713
Context Parameters cause compiler generate r8 incompatible bytecodeKT-71854
K2 IDE. False positive red code because of external annotation on a generic parameterKT-67335
K2: Infers Int instead of Long for an ILTKT-76629
K2 Mode: False positive RedundantVisibilityModifier inspection on private constructors in sealed classesKT-77728
Drop controversial experimental checkersKT-78429
K2: Property callable reference incorrectly smart-casted to intersection of property type and KPropertyKT-78509
Renamed for override copy functions are cached in scope instead of sessionKT-17417
Loops in delegation: no compilation error on non-abstract class with abstract method that never implementedKT-75033
Split JvmBackendPipelinePhase to be able to provide a custom implementation of writeOutputsKT-75831
K2: An extra "[VALUE_PARAMETER_WITHOUT_EXPLICIT_TYPE] An explicit type is required on a value parameter." for a missing parameterKT-78370
All the [something]Assign operators on dynamic return Unit as a typeKT-73950
K2 IDE / Kotlin Debugger: ISE "Fake override should have at least one overridden descriptor" on evaluation of local calss in presence of bystanderKT-78280
Implement the sourcelessKtDiagnostic
sKT-76543
Migrate psi2ir sources to new IR parameter APIKT-77716
Kotlin/Native and -Xseparate-kmp-compilation: "Compilation failed: Several functions kotlin/native/immutableBlobOf found"KT-76400
Context-sensitive resolution doesn’t work in if-else condition passed as a function argumentKT-76606
Enable 'Indy: Allow lambdas with annotations' by defaultKT-76739
Dubious argument type mismatch "actual type is 'String', but 'String' was expected" caused by wrong number of type argumentsKT-78121
Report warning on function type with multiple implicit values that's annotated with DSL markerKT-76872
Anonymous context parameters are not visible in debuggerKT-74088
Kotlin Debugger: CCE on evaluating private suspend functionKT-77301
False positive Context Parameter resolution when using DslMarkerKT-78230
Add more test cases to the holdsIn contractsKT-78111
K2: Approximation of captured star projection in function type producesFunction1<Nothing?, Unit>
in IRKT-77273
K/N: Remove the kotlin.native.internal.Ref class from the standard libraryKT-73995
JVM bytecode: Bad name for value class fieldKT-73013
Kotlin Debugger: ISE "No mapping for symbol: VALUE_PARAMETER" on evaluating callable reference to local function with closure in itKT-77665
K2: unresolved annotatation on local context parameter typeKT-77485
Add constraints logging to inferenceKT-76504
Find and deprecate actively used parts of K1 APIKT-75338
K2 Mode: False positive "Redundant assignment" diagnostic on variable captured by local functionKT-77648
K2: False negative DSL_SCOPE_VIOLATION when using named argument for lambda with annotated function typeKT-77355
Report warning on overloading by a superset of another overload's context parametersKT-77354
Report warning on overloading by a subtype of another overload's context parameterKT-78084
Unify deprecation warning messagesKT-76776
@MustUseReturnValue
doesn't affect nested scopesKT-77545
@NoInfer
on receiver type leads to false positive type mismatch when generic type is specified explicitly and closest implicit receiver is of incorrect typeKT-76772
@NoInfer
on a context parameter's type leads to a false-positive context argument ambiguity error regardless of the closest implicit values' types if there are multiple of them at the call siteKT-76771
@NoInfer
on context parameter type leads to a false-positive type mismatch when generic type is specified explicitly and closest implicit value at the call site is of a mismatching typeKT-77156
INITIALIZATION_BEFORE_DECLARATION is not reported in anonymous objectKT-78060
UNRESOLVED_REFERENCE in fp-spaceKT-67555
Debug metadata: map the Continuation label to the next executable location in fileKT-77723
Refine the message for ArrayEqualityCanBeReplacedWithEquals checkerKT-75178
Inline functions in conjunction with@JvmStatic
may result in bytecode errorsKT-77390
Prototype lazy loading of stdlib symbols in NativeKT-77921
False positive EXTENSION_SHADOWED_BY_MEMBER when member has context parametersKT-77895
false-negative error on package directives with context parameter lists (even with context parameters disabled)KT-76767
AMBIGUOUS_CONTEXT_ARGUMENT should report the name of the context parameter in addition to the typeKT-77444
K2: False negative "Unchecked cast" with casting from MutableList to MutableListKT-63348
K2: FIR2IR should properly pass expected typesKT-77627
K2: consider getting rid of NEW_INFERENCE_ERRORKT-75833
K2: Extra [ANNOTATION_ARGUMENT_MUST_BE_CONST] when passing regex-like strings as annotation argumentsKT-77547
Native: add a check that the logic looking for stdlib-related bitcode is not used when compiling sources to a klibKT-77206
RemovePARAMETER_NAME_CHANGED_ON_OVERRIDE
suppression in KMP lexersKT-77679
Update syntax-api dependency in KMP Kotlin parserKT-77705
K2: Consuming data class compiled with kotlin 1.0.5 breaks the K2 compilerKT-76583
CCE: suspend lambda attempts to unbox value class parameter twice after lambda suspendedKT-76663
KJS: KotlinNothingValueException caused by expression return since 2.1.20KT-75457
Native: cache machinery uses stdlib cache with default runtime options even if custom runtime options are supplied when partial linkage is disabledKT-77563
False-positive smart cast with captured local in init block causes NPEKT-77696
ISE "couldn't find inline method" on kotlin/Result compiled by old Kotlin versionKT-76931
K2: Annotation on do-while expression captures variables from inside the loopKT-77183
Metadata: remove multi-field value class representationKT-77678
Apply found optimization to Kotlin KMP parserKT-60127
K2: Support scripts with LightTree-based raw FIR buildingKT-76615
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" for mixed Java/Kotlin codeKT-77220
Annotation with EXPRESSION is not allowed on lambdas in Kotlin 2.2.0KT-77656
K/N: fix the super type for local delegated propertiesKT-75907
Inference/PCLA: consider storing semi-fixed variables in inference sessionKT-77144
Implement KMP Kotlin parserKT-77352
Implement KMP Expression parserKT-76984
SYNCHRONIZED_BLOCK_ON_JAVA_VALUE_BASED_CLASS isn't reported for primitive wrapper classes instantiated within the scopeKT-67471
K2: "Unresolved reference" on incorrect term of FQ nameKT-77269
[K/N] external calls checker crashes when used with cachesKT-77205
Kotlin Debugger / Context Parameters: CCE "class FirPropertySymbol cannot be cast to class FirFunctionSymbol" on evaluating class propertyKT-74133
FIR: use EmptyDeprecationsPerUseSite consistently in symbolsKT-77100
java.lang.Void type is not ignorableKT-77491
K2: No SUPERTYPE_IS_EXTENSION_FUNCTION_TYPE when using typealiasKT-77490
Report error on contextual function type in supertypeKT-77431
Functional type with a context is allowed as an upper-boundKT-77432
Context isn't passed properly when functional type with a context is used as a type argumentKT-77417
There is no TYPE_VARIANCE_CONFLICT_ERROR when 'out' type is used in contextKT-62631
Improve expect-actual "checking" incompatibilities reportingKT-77481
Support ExpectRefinement feature in HMPP compilation schemeKT-77268
Make sure that -Xreturn-value-checker also enables -XX:UnnamedLocalVariablesKT-65719
K1/K2: Nullness defaults from subclass unsoundly applied to method in superclassKT-53836
In type-parameter declarations, recognize JSpecify annotations only on boundsKT-73658
JSpecify@NonNull
annotation on type-parameter bound prevents type-variable usages from being platform typesKT-77000
Leave ForbidInferOfInvisibleTypeAsReifiedOrVararg as a warningKT-74084
K2: False negative [NO_ELSE_IN_WHEN]KT-77451
FirLazyResolveContractViolationException for test with overridden delegateKT-77397
Report UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL when calling declaration with contextual function type in signatureKT-77137
K2: Controversial behavior allows resolving annotation arguments on a companion inside itKT-77257
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the conditional expression to the inaccessible interfaceKT-77256
Report compilation error when in generated JVM bytecode there is a need for CHECKCAST of the functional call result to the inaccessible interfaceKT-76356
K2 evaluation fails on evaluating inline methods if there is an inline with AutoCloseableKT-73786
Evaluator: cannot evaluate inline methods with reified parameterKT-77204
Native: XCode strip command causes flaky testsKT-77351
Implement KMP KDoc parserKT-76914
compile-time failure on a type argument placeholder in a callable referenceKT-76597
False negative opt-in required on delegated constructor callKT-76667
Mark the class implementation of interface function with ACC_BRIDGE in the class fileKT-77181
K2: a nested typealias annotation observes member declarations of the outer classKT-77180
K2: Wrong scope for annotation arguments in the constructor headerKT-77287
Try enforcingsource != null
whenorigin == Source
KT-76135
K2: drop pre-1.8 language features from compiler codeKT-77231
Reflection: CCE on resuming coroutine after callSuspend if result is a generic inline class substituted with primitiveKT-77031
Investigate the actual need of deduplicating provider in HMPP compilation schemeKT-77050
Implement KMP KDoc lexerKT-77048
Implement KMP Kotlin lexerKT-77044
Consolidate, refine and update jFlex dependencyKT-77252
It is impossible to declare an unnamed variable in a scriptKT-58137
K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another moduleKT-77140
Protect ConstraintSystemCompletionMode.UNTIL_FIRST_LAMBDA with opt-inKT-76898
K2: ClassCastException when data class shadows supertype'scomponentX
method with wrong typeKT-75695
Bogus "Assigned value is never read" warning for prefix ++ operatorKT-76805
Wrong NPE occurs when assigning synthetic properties with platform types in Kotlin 2.1.20KT-77078
K2: anonymous object is wrongly allowed to implement interfaces by unsafe DelegationKT-72722
Treat 'copy' calls of a data class as explicit constructor usagesKT-77149
IllegalArgumentException: source must not be nullKT-76806
K2: AIOOBE in FirEqualityCompatibilityCheckerKT-72391
KJS: (a * b).toDouble_ygsx0s_k$ is not a functionKT-76950
K2: "IllegalArgumentException: Inline class types should have the same representation: Lkotlin/UByte; != B" with nullable UByteKT-76043
Native: NotImplementedError: Generation of stubs for class org.jetbrains.kotlin.ir.symbols.impl.IrFieldSymbolImpl is not supported yetKT-77126
Transitive dependency mismatch between Kotlin Gradle Plugin and Scripting dependenciesKT-72831
ANNOTATION_USED_AS_ANNOTATION_ARGUMENT missing in some cases in K2KT-73707
Remove dependency on ":compiler:backend.jvm" from NativeKT-75499
CheckerContext#{containingDeclaration, containingFile} in checkers should return symbolsKT-76548
False positive TYPE_MISMATCH when resolving an expression with the expected type from the upper boundKT-76142
K2:@RequiresOptIn
warning does not display the custom message when using concatenated strings.KT-68699
Kotlin Debugger: UPAE "lateinit property parent has not been initialized" on trying evaluate enumValues(), enumEntries() from inlined function with reified parameterKT-63267
K2: incorrect line numbers after smart cast of an extension receiverKT-71309
Kotlin Debugger: UnsupportedOperationException on calling method with reified type parameterKT-74912
K2: Investigate irrelevant ARGUMENT_TYPE_MISMATCH on top-level lambdasKT-74657
K2: Linenumber for annotation on local variable is present in LVTKT-76749
NONE_APPLICABLE message is unreadable for stdlib context functionKT-74932
Investigate false-negative ARGUMENT_TYPE_MISMATCH on a nested anonymous functionKT-74545
Redundant TYPE_MISMATCH in variable initializer with callKT-76774
K2: Simplify ResolutionMode.WithExpectedType contractsKT-76689
Unnamed local variable with type and without initializer is allowedKT-76746
ClassCastException: class org.jetbrains.kotlin.fir.types.impl.FirUserTypeRefImpl cannot be cast to classKT-76754
K2: Compiler doesn't check annotations on array literals (as annotation arguments)KT-76674
The function isn't called from unnamed local variable initializerKT-75553
MISSING_DEPENDENCY_SUPERCLASS
andMISSING_DEPENDENCY_SUPERCLASS_WARNING
is reported at the same time on the same elementKT-76345
Enhance variable fixationKT-73348
AssertionError from isCompiledToJvmDefault on super call of suspend function with composable function parameterKT-72305
K2: Report error when using synthetic properties in case of mapped collectionsKT-73527
Prohibit (via a deprecation warning) accessing nested class through generic outer classKT-59886
K2: Disappeared ERROR_IN_CONTRACT_DESCRIPTIONKT-61227
](https://youtrConfiguration
📅 Schedule: Branch creation - "every 3 months on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.